#pragma once
#include <vector>
#include <string>
#include <iostream>

// 本文件用于提供环形队列所需要的接口
const int size = 5;

template <typename T>
class ringQueue
{
public:
    ringQueue(int num = size)
        :_capacity(num)
    {
        pthread_cond_init(&_c_cond,nullptr);
        pthread_cond_init(&_p_cond,nullptr);
        pthread_mutex_init(&_c_mutex,nullptr);
        pthread_mutex_init(&_p_mutex,nullptr);
    }
    void push(T&&data)
    {
        

    }
    void pop()
    {
    }

private:
    std::vector<T> rq;
    int _capacity;
    pthread_mutex_t _c_mutex;
    pthread_mutex_t _p_mutex;
    pthread_cond_t _c_cond;
    pthread_cond_t _p_cond;
};